import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.util.*;
/**
 * Esta clase  contiene los metodos de moverse,tiraTrampa etc. de otro enemigo externo al jugador y al enemigo 
 * 
 * @author Araujo Lara Zahaira Lorena
 * @version 20012
 */
public class kiko extends Personaje
{
   
    private int inc;//Variable que guarda el incremento de moviemiento
    boolean band=false;
    Tiempo t =new Tiempo(10,3);//variable global para agregar a el mundo el tiempo de espera del chavo cuando se congela
   
   
  /**
   * Actua de los movimientos del jugador 
 */
    public void act() 
    {
        inc=2;
        tiraTrampa();//Cada determinada coordenada de kiko tira una trampa y valida si ya la tiro
        mueve();//mueve a kiko en una determinada direccion
       
        
    }
     /**
   * En este metodo mueve a el jugador en el mundo
 */
    public void mueve()
    {
        int x=getX();
        int y=getY();
       if(band==false)
       {
            if(x<=1)// si x es mayor a uno se regresa a inicio de pantalla
            {
                x=600;
                
                setLocation(x,y);
            }
            else
            {
               setLocation(x-inc,y);
            }
            
        }
        
    }
       /**
   * Tira trampa en el escenario
 */
    public void tiraTrampa()
    {
      
        Mundo mundo;
        Actor act;
        pelota t=new pelota();//Esta variable de instancia se utiliza para poder agregar a el mundo una trampa
        mundo = (Mundo)getWorld();
        act=getOneIntersectingObject(pelota.class);
        
        if(act==null)
        { 
     
            
            if(getX()== 370 || getX() == 200 || getX()==100 || getX() == 570 || getX() == 509)
            {
               mundo.addObject(t,getX(),getY()+20);
            
            }
        }
        else
        {  
           //trampa no tira por que se encuentra una en esa ubicacion 
        }
     
    }
       /**
   * En este metodo se actualiza la bandera del movimiento de el jugador
   * @param bandera de movimiento del objeto
 */
    public void actualizaBand(boolean b)
    {
        band=b;
    }
    
        
    
}
